<?php
// 本类由系统自动生成，仅供测试用途
class IndexAction extends Action {
    public function index(){
    	$app_id = intval($_GET['id']);
	    if(empty($app_id)){
			exit;
		}
		
		$time=time();
		
		$day_date=date('Y-m-d',$time);

		$link_date_model=M('App_link_date');
		$link_date_map['app_link_date_date']=$day_date;
		$link_date_map['app_link_id']=$app_id;
		$link_date_result=$link_date_model->where($link_date_map)->select();
		
		if (empty($link_date_result)){
			$link_date_data['app_link_date_date'] = $day_date;
			$link_date_data['app_link_id'] = $app_id;
			if(false !==$link_date_model->data($link_date_data)->add()){
				
			}
			
		}
		
		
		
		
		
		/**
		 * 
		 * 连接跳转
		 * @var unknown_type
		 */
		$link_model=M('App_link');
		$link_result=$link_model->where("app_id='".$app_id."'")->select();
		
		$app_date_H=date("H",$time);//小时
		
		if($link_result[0]['app_link_qiyong1']=='1'){
			
			$app_link_date_start_field="app_link_date_start1";
			$app_link_date_send_field="app_link_date_send1";
			
			$history_data_time_range=$link_result[0]['app_link_start1']."-".$link_result[0]['app_link_sed1'];
			
			if ($link_result[0]['app_link_start1']=='1'&&$link_result[0]['app_link_sed1']=='24'){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias1'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad1']);
//				header('Location:'.$link_result[0]['app_link_ad1']);
			}
			if($link_result[0]['app_link_start1']<=$app_date_H&&$app_date_H<=$link_result[0]['app_link_sed1']){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias1'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad1']);
//				header('Location:'.$link_result[0]['app_link_ad1']);
			}
			if($link_result[0]['app_link_start1']>=$link_result[0]['app_link_sed1']){
				if($link_result[0]['app_link_start1']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed1']){
					$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias1'],$history_data_time_range);
					$this->number_num($app_id);
					$this->redirect_hd($link_result[0]['app_link_ad1']);
//					header('Location:'.$link_result[0]['app_link_ad1']);
				}
			}
			
/*			if($link_result[0]['app_link_start1']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed1']){dump($app_id);
				header('Location:'.$link_result[0]['app_link_ad1']);
			}*/
		}

    	if($link_result[0]['app_link_qiyong2']=='1'){
    		
    		$app_link_date_start_field="app_link_date_start2";
			$app_link_date_send_field="app_link_date_send2";
			
			$history_data_time_range=$link_result[0]['app_link_start2']."-".$link_result[0]['app_link_sed2'];
    		
			if ($link_result[0]['app_link_start2']=='1'&&$link_result[0]['app_link_sed2']=='24'){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias2'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad2']);
//				header('Location:'.$link_result[0]['app_link_ad2']);
			}
			if($link_result[0]['app_link_start2']<=$app_date_H&&$app_date_H<=$link_result[0]['app_link_sed2']){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias2'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad2']);
//				header('Location:'.$link_result[0]['app_link_ad2']);
			}
    		if($link_result[0]['app_link_start2']>=$link_result[0]['app_link_sed2']){
				if($link_result[0]['app_link_start2']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed2']){
					$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias2'],$history_data_time_range);
					$this->number_num($app_id);
					$this->redirect_hd($link_result[0]['app_link_ad2']);
//					header('Location:'.$link_result[0]['app_link_ad2']);
				}
			}
		}
		
   		 if($link_result[0]['app_link_qiyong3']=='1'){
   		 	
   		 	$app_link_date_start_field="app_link_date_start3";
			$app_link_date_send_field="app_link_date_send3";
			
			$history_data_time_range=$link_result[0]['app_link_start3']."-".$link_result[0]['app_link_sed3'];
			
			if ($link_result[0]['app_link_start3']=='1'&&$link_result[0]['app_link_sed3']=='24'){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias3'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad3']);
//				header('Location:'.$link_result[0]['app_link_ad3']);
			}
			if($link_result[0]['app_link_start3']<=$app_date_H&&$app_date_H<=$link_result[0]['app_link_sed3']){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias3'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad3']);
//				header('Location:'.$link_result[0]['app_link_ad3']);
			}
   		 	if($link_result[0]['app_link_start3']>=$link_result[0]['app_link_sed3']){
				if($link_result[0]['app_link_start3']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed3']){
					$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias3'],$history_data_time_range);
					$this->number_num($app_id);
					$this->redirect_hd($link_result[0]['app_link_ad3']);
//					header('Location:'.$link_result[0]['app_link_ad3']);
				}
			}
		}
		
   		 if($link_result[0]['app_link_qiyong4']=='1'){
   		 	
   		 	$app_link_date_start_field="app_link_date_start4";
			$app_link_date_send_field="app_link_date_send4";
			
			$history_data_time_range=$link_result[0]['app_link_start4']."-".$link_result[0]['app_link_sed4'];
			
			if ($link_result[0]['app_link_start4']=='1'&&$link_result[0]['app_link_sed4']=='24'){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias4'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad4']);
//				header('Location:'.$link_result[0]['app_link_ad4']);
			}
			if($link_result[0]['app_link_start4']<=$app_date_H&&$app_date_H<=$link_result[0]['app_link_sed4']){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias4'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad4']);
//				header('Location:'.$link_result[0]['app_link_ad4']);
			}
   		 	if($link_result[0]['app_link_start4']>=$link_result[0]['app_link_sed4']){
				if($link_result[0]['app_link_start4']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed4']){
					$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias4'],$history_data_time_range);
					$this->number_num($app_id);
					$this->redirect_hd($link_result[0]['app_link_ad4']);
//					header('Location:'.$link_result[0]['app_link_ad4']);
				}
			}
		}
		
  		if($link_result[0]['app_link_qiyong5']=='1'){
  			
  			$app_link_date_start_field="app_link_date_start5";
			$app_link_date_send_field="app_link_date_send5";
			
			$history_data_time_range=$link_result[0]['app_link_start5']."-".$link_result[0]['app_link_sed5'];
  			
			if ($link_result[0]['app_link_start5']=='1'&&$link_result[0]['app_link_sed5']=='24'){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias5'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad5']);
//				header('Location:'.$link_result[0]['app_link_ad5']);
			}
			if($link_result[0]['app_link_start5']<=$app_date_H&&$app_date_H<=$link_result[0]['app_link_sed5']){
				$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias5'],$history_data_time_range);
				$this->number_num($app_id);
				$this->redirect_hd($link_result[0]['app_link_ad5']);
//				header('Location:'.$link_result[0]['app_link_ad5']);
			}
  			if($link_result[0]['app_link_start5']>=$link_result[0]['app_link_sed5']){
				if($link_result[0]['app_link_start5']<=$app_date_H&&$app_date_H>=$link_result[0]['app_link_sed5']){
					$this->link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$link_result[0]['app_link_alias5'],$history_data_time_range);
					$this->number_num($app_id);
					$this->redirect_hd($link_result[0]['app_link_ad5']);
//					header('Location:'.$link_result[0]['app_link_ad5']);
				}
			}
		}

//    	$this->display();
    }
    
    public function isToday($publishDate){
	   if(empty($publishDate)) { return false; } 
	         $curDate = date("Y-m-d"); 
	         $publishDate = substr($publishDate, 0, 10); 
	     if($curDate === $publishDate) { 
	         return true; } return false;
	}
	
	public function redirect_hd($url, $time=0, $msg='') {
	    //多行URL地址支持
	    $url = str_replace(array("\n", "\r"), '', $url);
	    if (empty($msg))
	        $msg = "系统将在{$time}秒之后自动跳转到{$url}！";
	    if (!headers_sent()) {
	        // redirect
	        if (0 === $time) {
	            header('Location: ' . $url);
	        } else {
	            header("refresh:{$time};url={$url}");
	            echo($msg);
	        }
	        exit();
	    } else {
	        $str = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
	        if ($time != 0)
	            $str .= $msg;
	        exit($str);
	    }
	}
	
	public function number_num($app_id){
		//    	$time=date("Y-m-d H:i:s");//获取当前时间
		
		$time=time();
		$ip=$_SERVER['REMOTE_ADDR'];//获取访问者IP
		
		//查询此IP是否有访问记录
		$ip_ku_model = M("App_ip_ku"); // 实例化App_ip_ku对象
		$ip_ku_info=$ip_ku_model->where("app_id=".$app_id." AND app_ip_ku_ip='".$ip."'")->select();
		
		//查询应用是否创建当天ip记录
		$app_date_tm=date("Y-m-d",$time);
		$app_date_H=date("H",$time);//小时
		if (!$app_date_H||$app_date_H=='0'||$app_date_H=='00'){$app_date_H=24;}//零时
		$app_table_ip=app_table_ip_.$app_id;
		$app_table_ip_model = M($app_table_ip); 
		$app_table_ip_info=$app_table_ip_model->where("app_date='".$app_date_tm."'")->select();
		
		

		/**
		 * ip
		 */
		if (empty($ip_ku_info)){//没有ip访问记录
			$data['app_id'] = $app_id;
			$data['app_ip_ku_date'] = $time;
			$data['app_ip_ku_ip'] = $ip;
			if(false !==$ip_ku_model->data($data)->add()){//创建ip访问记录
				if (empty($app_table_ip_info)){//应用当天没有ip统计记录
					$ip_info_data['app_id']=$app_id;
					$ip_info_data['app_date']=$app_date_tm;
					$ip_info_data[$app_date_H]=1;
					$ip_info_data['aggregate']=1;
					$app_table_ip_model->data($ip_info_data)->add();//创建应用当天ip统计记录
				}else {
					$ip_info_data[$app_date_H]=$app_table_ip_info[0][$app_date_H]+1;
					$ip_info_data['aggregate']=$app_table_ip_info[0]['aggregate']+1;
					$app_table_ip_model->where("app_date='".$app_date_tm."'")->save($ip_info_data); //更新当天ip统计记录
				}
			}
		}else {
			$ip_ku_date=$ip_ku_info[0]['app_ip_ku_date'];
			$ip_ku_date=date('Y-m-d',$ip_ku_date);
			$is_today=$this->isToday($ip_ku_date);//是否今天
			
			if (!$is_today){
				$ip_ku_data['app_ip_ku_date']=$time;
				if(false !==$ip_ku_model->where("app_id=".$app_id."")->save($ip_ku_data)){
					if (empty($app_table_ip_info)){//应用当天没有ip统计记录
							$ip_info_data['app_id']=$app_id;
							$ip_info_data['app_date']=$app_date_tm;
							$ip_info_data[$app_date_H]=1;
							$ip_info_data['aggregate']=1;
							$app_table_ip_model->data($ip_info_data)->add();//创建应用当天ip统计记录
						}else {
							$ip_info_data[$app_date_H]=$app_table_ip_info[0][$app_date_H]+1;
							$ip_info_data['aggregate']=$app_table_ip_info[0]['aggregate']+1;
							$app_table_ip_model->where("app_date='".$app_date_tm."'")->save($ip_info_data); //更新当天ip统计记录
						}
				}
			}
		}
		
		/**
		 * pv
		 */
		
		$app_table_pv=app_table_pv_.$app_id;
		$app_table_pv_model = M($app_table_pv); 
		$app_table_pv_info=$app_table_pv_model->where("app_date='".$app_date_tm."'")->select();
		
    	if (empty($app_table_pv_info)){//应用当天没有pv统计记录
							$pv_info_data['app_id']=$app_id;
							$pv_info_data['app_date']=$app_date_tm;
							$pv_info_data[$app_date_H]=1;
							$pv_info_data['aggregate']=1;
							$app_table_pv_model->data($pv_info_data)->add();//创建应用当天pv统计记录
						}else {
							$pv_info_data[$app_date_H]=$app_table_pv_info[0][$app_date_H]+1;
							$pv_info_data['aggregate']=$app_table_pv_info[0]['aggregate']+1;
							$app_table_pv_model->where("app_date='".$app_date_tm."'")->save($pv_info_data); //更新当天pv统计记录
						}
						
		/**
		 * uv
		 */
//		$lifeTime = 24 * 3600;
		$time_xianzai=time();
		if ($_COOKIE['uv_cookic']<=$time_xianzai){
			$expire = time() + 86400; // 设置24小时的有效期
			setcookie ("uv_cookic", $expire, $expire); // 设置一个名字为var_name的cookie，并制定了有效期
			
			$app_table_uv=app_table_uv_.$app_id;
			$app_table_uv_model = M($app_table_uv); 
			$app_table_uv_info=$app_table_uv_model->where("app_date='".$app_date_tm."'")->select();
			
			if (empty($app_table_uv_info)){//应用当天没有uv统计记录
							$uv_info_data['app_id']=$app_id;
							$uv_info_data['app_date']=$app_date_tm;
							$uv_info_data[$app_date_H]=1;
							$uv_info_data['aggregate']=1;
							$app_table_uv_model->data($uv_info_data)->add();//创建应用当天uv统计记录
						}else {
							$uv_info_data[$app_date_H]=$app_table_uv_info[0][$app_date_H]+1;
							$uv_info_data['aggregate']=$app_table_uv_info[0]['aggregate']+1;
							$app_table_uv_model->where("app_date='".$app_date_tm."'")->save($uv_info_data); //更新当天uv统计记录
						}
			
		}
		
		
	}
	
	private function link_date_update($link_date_result,$app_link_date_start_field,$app_link_date_send_field,$app_id,$history_data_alias,$history_data_time_range){
		
		$link_date_model=M('App_link_date');
		$link_date_map['app_link_id']=$app_id;
		
		$time=time();
		$day_date=date('Y-m-d',$time);
		$app_date_H=date("H",$time);//小时
		if (!$link_date_result[0][$app_link_date_start_field]){
			$link_date_data[$app_link_date_start_field] = $app_date_H;
		}
		$link_date_data[$app_link_date_send_field] = $app_date_H;
		
		if(false !==$link_date_model->where($link_date_map)->save($link_date_data)){
				$link_history_data_model=M('App_link_history_data');
				$link_history_map['history_data_date']=$day_date;
				$link_history_map['history_data_app_id']=$app_id;
				$link_history_map['history_data_alias']=$history_data_alias;
				
				$link_history_result=$link_history_data_model->where($link_history_map)->select();
				
				$link_date_result=$link_date_model->where($link_date_map)->select();
				
				if (empty($link_history_result)){				
					$link_date_map['app_link_date_date']=$day_date;
					
					
					$link_history_data['history_data_date'] = $day_date;
					$link_history_data['history_data_app_id'] = $app_id;
					$link_history_data['history_data_alias'] = $history_data_alias;
					$link_history_data['history_data_time_range'] = $history_data_time_range;
					$link_history_data['history_data_date_start'] = $link_date_result[0][$app_link_date_start_field];
					$link_history_data['history_data_date_send'] = $app_date_H;
					
					$link_history_data_model->data($link_history_data)->add();
				}else {
					$link_history_data['history_data_date_start'] = $link_date_result[0][$app_link_date_start_field];
					$link_history_data['history_data_date_send'] = $app_date_H;
					$link_history_data_model->where($link_history_map)->save($link_history_data);
				}
				
		}
	}
}